'use strict';
jQuery(document).ready(function($){
woovr_init();
$(document).on('click touch mouseover', '.woovr-variations', function(){
$(this).attr('data-click', 1);
});
$('body').on('click', '.woovr-variation-radio', function(){
var _this=$(this);
var _variations=_this.closest('.woovr-variations');
var _click=parseInt(_variations.attr('data-click'));
var _variations_form=_this.closest('.variations_form');
woovr_do_select(_this, _variations, _variations_form, _click);
_this.find('input[type="radio"]').prop('checked', true);
});
$('body').on('change', '.woovr-variation-select', function(){
var _this=$(this);
var _variations=_this.closest('.woovr-variations');
var _click=parseInt(_variations.attr('data-click'));
var _variations_form=_this.closest('.variations_form');
var _selected=$('option:selected', this);
woovr_do_select(_selected, _variations, _variations_form, _click);
if(_selected.attr('data-imagesrc')!==''){
_this.closest('.woovr-variation').
find('.woovr-variation-image').
html('');
}else{
_this.closest('.woovr-variation').
find('.woovr-variation-image').
html('');
}
_this.closest('.woovr-variation').
find('.woovr-variation-price').
html(_selected.attr('data-pricehtml'));
});
});
jQuery(document).on('found_variation', function(e, t){
var variation_id=t['variation_id'];
var $variations_default=jQuery(e['target']).
find('.woovr-variations-default');
var $variations_select=jQuery(e['target']).
find('.woovr-variations-select');
var $variations_select2=jQuery(e['target']).
find('.woovr-variations-select2');
var $variations_ddslick=jQuery(e['target']).
find('.woovr-variations-ddslick');
if($variations_default.length){
if(parseInt($variations_default.attr('data-click')) < 1){
$variations_default.find('.woovr-variation-radio[data-id="' + variation_id +
'"] input[type="radio"]').prop('checked', true);
}}
if($variations_select.length){
if(parseInt($variations_select.attr('data-click')) < 1){
$variations_select.find('.woovr-variation-select').
val(variation_id).
trigger('change');
}}
if($variations_select2.length){
if(parseInt($variations_select2.attr('data-click')) < 1){
$variations_select2.find('.woovr-variation-select').
val(variation_id).
trigger('change');
}}
if($variations_ddslick.length){
if(parseInt($variations_ddslick.attr('data-click')) < 1){
var variation_index=$variations_ddslick.find('li:has(.dd-option-value[value="' + variation_id + '"])').index();
$variations_ddslick.find('.dd-container').
ddslick('select', {index: variation_index});
}}
});
jQuery(document).on('woosq_loaded', function(){
woovr_init();
});
function woovr_init(){
jQuery('.woovr-variations').each(function(){
var _variations=jQuery(this);
var _variations_form=jQuery(this).closest('.variations_form');
var _select=_variations.find('select');
if(_variations.hasClass('woovr-variations-ddslick')){
_select.ddslick({
width: '100%',
onSelected: function(data){
var _click=parseInt(_variations.attr('data-click'));
var _selected=jQuery(data.original[0].children[data.selectedIndex]);
woovr_do_select(_selected, _variations, _variations_form, _click);
},
});
}else if(_variations.hasClass('woovr-variations-select2')){
_select.select2({
templateResult: woovr_select2_state,
width: '100%',
containerCssClass: 'wpc-select2-container',
dropdownCssClass: 'wpc-select2-dropdown',
});
}});
}
function woovr_select2_state(state){
if(!state.id){
return state.text;
}
var $state=new Object();
if(jQuery(state.element).attr('data-imagesrc')!=''){
$state=jQuery(
'' + state.text + ' ' +
jQuery(state.element).attr('data-description') + '',
);
}else{
$state=jQuery(
'' + state.text + ' ' +
jQuery(state.element).attr('data-description') + '',
);
}
return $state;
}
function woovr_do_select(selected, variations, variations_form, click){
if(click > 0){
if(!variations.closest('.wpc_variations_form').length){
variations_form.find('.reset_variations').trigger('click');
if(selected.attr('data-attrs')!==''){
var attrs=jQuery.parseJSON(selected.attr('data-attrs'));
if(attrs!==null){
for (var key in attrs){
variations_form.find('select[name="' + key + '"]').
val(attrs[key]).
trigger('change');
}}
}}
}
jQuery(document).
trigger('woovr_selected', [selected, variations, variations_form]);
};